package org.jeecg.modules.engineering.entity;

import java.util.*;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Description: 设备分类表
 * @Author: jeecg-boot
 * @Date:   2019-08-13
 * @Version: V1.0
 */
@Data
@TableName("equip_sort")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="equip_sort对象", description="设备分类表")
public class EquipSort {
    
	/**设备分类id*/
	@TableId(type = IdType.UUID)
    @ApiModelProperty(value = "设备分类")
	private String id;
	/**分类名称*/
	@Excel(name = "分类名称", width = 15)
    @ApiModelProperty(value = "分类名称")
	private String sortName;

	/**分类名称*/
	@Excel(name = "分类编码", width = 15)
	@ApiModelProperty(value = "分类编码")
	private String sortNo;


	@Excel(name = "归属系统", width = 15)
	@ApiModelProperty(value = "归属系统")
	@TableField(updateStrategy = FieldStrategy.IGNORED)
	private String topSystem;

	/**父类id*/
	@Excel(name = "父分类", width = 15,dicCode = "id" ,dictTable="equip_sort",dicText="sort_name")
    @ApiModelProperty(value = "父分类")
	private String parentId;

	/**父类id列表*/
	@ApiModelProperty(value = "父类id列表")
	private String parentIds;

	/**创建人*/
	@Excel(name = "创建人", width = 15,dicCode = "id" ,dictTable="sys_user",dicText="realname")
    @ApiModelProperty(value = "创建人")
	@Dict(dicCode = "id" ,dictTable="sys_user",dicText="realname")
	private String createBy;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
	private Date createTime;
	/**修改人*/
	@Excel(name = "修改人", width = 15,dicCode = "id" ,dictTable="sys_user",dicText="realname")
    @ApiModelProperty(value = "修改人")
	@Dict(dicCode = "id" ,dictTable="sys_user",dicText="realname")
	private String updateBy;
	/**修改时间*/
	@Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
	private Date updateTime;
	/**删除标识0-正常,1-已删除*/
	//@Excel(name = "删除标识0-正常,1-已删除", width = 15)
    @ApiModelProperty(value = "删除标识0-正常,1-已删除")
	@TableLogic
	private Integer delFlag;

    @TableField(exist = false)
    private List<String> topSystemArr;

    @TableField(exist = false)
    private String createName;

	@TableField(exist = false)
    private String updateName;

	@TableField(exist = false)
	private List<EquipSort> children;

	/** a-tree-select 需要的参数**/
	@TableField(exist = false)
	private String value;
	@TableField(exist = false)
	private String title;
	@TableField(exist = false)
	private String key;

}
